package org.deltaset.meta.internal.testvisit;

import java.util.List;
import org.deltaset.meta.annotation.DsFirstResult;
import org.deltaset.meta.annotation.DsMaxResult;
import org.deltaset.meta.annotation.DsOrder;

/**
 *
 * @author dmakariev
 */
public interface AnimalRepository {

    Animal findById(String id);

    Animal newEntity();


    List<Animal> findAll(@DsFirstResult Integer firstResult, @DsMaxResult Integer maxResult);

    Long countAll();


    @DsOrder("2.1")
    void save(Animal entity);

    @DsOrder("2.3")
    Animal edit(Animal entity);

    boolean disableEdit(Animal entity);


    @DsOrder("2.4")
    void delete(Animal animal);

    boolean disableDelete(Animal entity);
}
